using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Xna.Framework;
using System.Diagnostics;

namespace XnaDevRu.Bullet
{
    public class EmptyShape : ConcaveShape
    {
        private Vector3 _localScaling;

		public override string Name
		{
			get
			{
				return "Empty";
			}
		}

		public override BroadphaseNativeTypes ShapeType
		{
			get
			{
				return BroadphaseNativeTypes.Empty;
			}
		}

		public override Vector3 LocalScaling
		{
			get
			{
				return _localScaling;
			}
			set
			{
				_localScaling = value;
			}
		}

        public override void ProcessAllTriangles(ITriangleCallback callback, Microsoft.Xna.Framework.Vector3 aabbMin, Microsoft.Xna.Framework.Vector3 aabbMax)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        public override void GetAabb(Matrix t, out Vector3 aabbMin, out Vector3 aabbMax)
        {
			Vector3 margin = new Vector3(Margin, Margin, Margin);
            aabbMin = t.Translation - margin;
            aabbMax = t.Translation + margin;
        }

        public override void CalculateLocalInertia(float mass, out Vector3 inertia)
        {
            inertia = new Vector3();
            BulletDebug.Assert(false);
        }
    }
}
